package com.domus.dreamMenu.servidor.util;

import java.util.ArrayList;
import java.util.Iterator;

public final class RepositorioObserver<N extends Notificador> implements Iterable<N>{
	
	private final ArrayList<N> retornos;
	
	public RepositorioObserver() {
		this.retornos = new ArrayList<N>();
	}

	public void registrar(N registro){
		this.retornos.add(registro);
	}
	
	public void retirarRegistro(N registro){
		this.retornos.remove(registro);
	}

	public Iterator<N> iterator() {
		return this.retornos.iterator();
	}

	public void notificarObservers(){
		for(Notificador notificador : this){
			notificador.notificarObserver();
		}
	}
}
